#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
   // int i = fork();
   // if(i == 0)
   // {
   //     int j = fork();
   //     if(j == 0)
   //     {
   //          char *const envp[] = {
   //             "PATH=/bin:/usr/bin",  // 设置PATH环境变量，确保能找到ls等常用命令，可根据实际情况调整路径
   //             "HEHE=1234567",
   //              NULL
   //         };
   //         // 使用完整路径来指定要执行的程序，避免因PATH环境变量设置问题找不到程序
   //         int ret = execle("/bin/bash", "bash", "-c", "echo $HEHE", NULL, envp);
   //         if (ret == -1) {
   //         // 如果execle调用失败，打印错误信息并返回错误码
   //             perror("execle");
   //             exit(1);
   //         }
   //     }
   //        // exit(10);
   //     wait(NULL);
   //     execlp("ps","ps","-a","-j","-x",NULL);  
   //     
   // }
   // wait(NULL);
   // execl("/bin/ls","ls","-a","-l",NULL);
    int k = fork();
    char *const argv[] = { "ls", "-a", "-l", NULL };
    if(k == 0)
    {
        execv("/bin/ls", argv);
    }
   // int execve(const char *path, char *const argv[], char *const envp[]);
    wait(NULL);
    printf("父\n");
    execvp(argv[0], argv);
    return 0;
}

